import {
    ApartmentOutlined,
    AppstoreOutlined,
    CodeOutlined,
    LogoutOutlined,
    MinusOutlined,
    PlusOutlined,
    RobotOutlined,
    SettingOutlined,
    UserOutlined
} from "@vicons/antd";

import {
    CodeOutlined as CodeOutlinedMaterial,
    LightModeOutlined,
    MenuBookOutlined,
    ModeNightOutlined
} from "@vicons/material";

/**
 * 字典编码
 * @type {{MENU_TYPE: string, SEX: string, DATA_SCOPE: string, SWITCH: string, VISIBLE: string}}
 */
export const DICT_CODE = {
    SEX: 'SEX',
    MENU_TYPE: 'MENU_TYPE',
    VISIBLE: 'VISIBLE',
    SWITCH: 'SWITCH',
    DATA_SCOPE: 'DATA_SCOPE'
}

/**
 * 菜单类型
 * @type {{CATALOG: string, BUTTON: string, MENU: string}}
 */
export const MENU_TYPE = {
    CATALOG: 'CATALOG',
    MENU: 'MENU',
    BUTTON: 'BUTTON'
}

export const MENU_TYPE_META = {
    CATALOG: '目录',
    MENU: '菜单',
    BUTTON: '按钮'
}

/**
 * 可见性
 * @type {{HIDDEN: string, VISIBLE: string}}
 */
export const VISIBLE = {
    VISIBLE: 'VISIBLE',
    HIDDEN: 'HIDDEN'
}

/**
 * 可见性元数据
 * @type {{HIDDEN: string, VISIBLE: string}}
 */
export const VISIBLE_META = {
    VISIBLE: '可见',
    HIDDEN: '隐藏'
}

/**
 * 图标 https://xicons.org/#/
 * @type {{SettingOutlined: VNode}}
 */
export const ICONS = {
    SettingOutlined: SettingOutlined,
    UserOutlined: UserOutlined,
    RobotOutlined: RobotOutlined,
    AppstoreOutlined: AppstoreOutlined,
    ApartmentOutlined: ApartmentOutlined,
    LogoutOutlined: LogoutOutlined,
    ModeNightOutlined: ModeNightOutlined,
    LightModeOutlined: LightModeOutlined,
    MenuBookOutlined: MenuBookOutlined,
    CodeOutlined: CodeOutlined,
    CodeOutlinedMaterial: CodeOutlinedMaterial,
    PlusOutlined: PlusOutlined,
    MinusOutlined: MinusOutlined,
}

/**
 * 操作抽屉模式
 * @type {{ADD: number, MODIFY: number, DETAIL: number}}
 */
export const OPERATE_DRAWER_MODE = {
    ADD: 1,
    EDIT: 2,
    DETAIL: 3
}

/**
 * 数据范围类型
 * @type {{ALL: string, DEPARTMENT_AND_SUBORDINATE: string, CUSTOMIZE: string, DEPT: string, SELF: string}}
 */
export const DATA_SCOPE_TYPE = {
    ALL: 'ALL',
    DEPARTMENT: 'DEPARTMENT',
    DEPARTMENT_AND_SUBORDINATE: 'DEPARTMENT_AND_SUBORDINATE',
    CUSTOMIZE: 'CUSTOMIZE',
    SELF: 'SELF',
}
/**
 * 数据范围类型元数据
 * @type {{ALL: string, DEPARTMENT_AND_SUBORDINATE: string, CUSTOMIZE: string, DEPT: string, SELF: string}}
 */
export const DATA_SCOPE_TYPE_META = {
    ALL: '全部数据',
    DEPARTMENT: '本部门数据',
    DEPARTMENT_AND_SUBORDINATE: '本部门及以下数据',
    CUSTOMIZE: '自定义数据',
    SELF: '仅本人数据',
}

/**
 * 启用状态元数据
 * @type {{DISABLE: string, ENABLE: string}}
 */
export const ENABLE_STATUS_META = {
    ENABLE: '启用',
    DISABLE: '禁用'
}
